package day06;

import java.util.Arrays;
import java.util.Random;
import java.util.Scanner;

public class HomeWorkDay06 {
    public static void main(String[] args) {
        //第一题
        //第一遍
        System.out.println("创建数组的长度");
        int[] array = intarray();//创建随机数组array
//        pr(array);//输出array数组
        array = arrayAdd(array,1);//数组扩容一位
        array = arrayend(array,getmax(array));//最大值放在末位
        pr(array);//输出数组
        //第二遍
        System.out.println("创建数组的长度");
        int[] array1 = intarray();
        array1 = arrayAdd(array1,1);
        array1 = arrayend(array1,getmin(array1));//最小值放在末位
        pr(array1);
        //第二题
        //第一遍
        say();
        say("张三");
        say("李四",50);
        int a = getNum();
        System.out.println(a);
        int c = 5;
        int d = 56;
        plus(c,d);
        int[] arrayy = intarray();
        pr(arrayy);

        //第二遍
        sayname();
        sayname("王二麻子");
        sayname("李四",50);
        int b = getNum1();
        int n = 123;
        int m = 12321;
        pluss(n,m);
        int[] arrayyy = intarray();
        pr(arrayyy);


    }
    //输出数组内容
    public static void pr(int array[]){
        for (int i = 0; i < array.length; i++) {
            System.out.println(i+1+"\t"+array[i]);
        }
    }
    //创建随机数组
    public static int[] intarray(){
        int num = intScan();
        int[] array = new int[num];
        for (int i = 0; i < array.length; i++) {
            array[i] = intRand();
//                System.out.println(i+1+"\t"+array[i]);
        }
        return array;
    }
    //1000以内随机数
    public static int intRand(){
        Random rd = new Random();
        int a = rd.nextInt(1001);
        return a;
    }
    //输入数据
    public static int intScan(){
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        return a;
    }
    //输出最大值
    public static int getmax(int array[]){
        int max=array[0];
        for (int i = 1; i < array.length; i++) {
            if (array[i]>max){
                max = array[i];
            }
        }
        return max;

    }
    //输出最小值
    public static int getmin(int array[]){
        int min=array[0];
        for (int i = 1; i < array.length-1; i++) {
            if (array[i]<min){
                min = array[i];
            }
        }
        return min;
    }
    //将传的值放于数组最后一位
    public static int[] arrayend(int[] array,int a){
        array[array.length-1]=a;//将值放于数组array最后一位
        return array;
    }
    //将数组扩容a位
    public static int[] arrayAdd(int[] array,int dilatation){
        array = Arrays.copyOf(array,array.length+dilatation);//将数组array扩容a位
        return array;
    }


    //定义say()无参无返回值
    public static void say(){
        System.out.println("我叫zws");
    }
    //定义say()一个参无返回值
    public static void say(String name){
        System.out.println("我叫"+name);
    }
    //定义say()两个参无返回值
    public static void say(String name,int age){
        System.out.println("我叫"+name+"今年"+age+"岁了");
    }
    //定义getNum()无参有返回值方法，演示return的用法，调用测试
    public static int getNum(){
        return 50;
    }
    //定义plus()两个参有返回值方法，调用测试
    public static int plus(int num1,int num2){
        int sum = num1 + num2;
        return sum;
    }


    //定义sayname()无参无返回值
    public static void sayname(){
        System.out.println("我叫张三");
    }
    //定义sayname()一个参无返回值
    public static void sayname(String name){
        System.out.println("我的名字叫"+name);
    }
    //定义sayname()两个参无返回值
    public static void sayname(String name,int age){
        System.out.println("我的名字叫"+name+"今年我"+age+"岁了");
    }
    //定义getNum()无参有返回值方法，演示return的用法，调用测试
    public static int getNum1(){
        return 600;
    }
    //定义plus()两个参有返回值方法，调用测试
    public static int pluss(int num1,int num2){
        int sum = num1 + num2;
        return sum;
    }




}
